package com.example.ArrayList;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Test1List {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();

        list.add("aaa");
        list.add("bbb");
        list.add("ccc");

        //method1(list);
        //method2(list);
        //method3(list);
        //method4(list);

        String s = list.get(0);
        System.out.println(s);
        System.out.println(list);

    }

    private static void method4(List<String> list) {
        //被替换的那个元素,在集合中就不存在了
        String s = list.set(0, "qqq");
        System.out.println(s);  //aaa
        System.out.println(list);   //[qqq, bbb, ccc]
    }

    private static void method3(List<String> list) {
        //在List集合中有两个删除的方法
        //第一个 删除指定的元素,返回值表示当前元素是否删除成功
        //第二个 删除指定索引的元素,返回值表示实际删除的元素
        String s = list.remove(0);
        System.out.println(s);  //aaa
        System.out.println(list);   //[bbb, ccc]
        boolean b = list.remove("bbb");
        System.out.println(b);      //true
        System.out.println(list);   //[ccc]
    }

    private static void method2(List<String> list) {
        //原来位置上的元素往后挪一个索引
        list.add(0, "qqq");
        System.out.println(list);   //[qqq, aaa, bbb, ccc]
    }

    private static void method1(List<String> list) {
        Iterator<String> it = list.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
        System.out.println("------");
        for (String s : list) {
            System.out.println(s);
        }
    }
}
